#include <iostream>
#include <vector>
#include <stack>

using namespace std;

stack<int> s;

int main()
{
	int n;

	cin >> n;
	vector<int> a(n);

	for(int i = 0; i < n; i++) {
		cin >> a[i];
	}
	
	int cur = 1;
	bool f = true;
	for(int i = 0; i < n; i++) {
		while((s.empty() || s.top() != a[i]) && cur <= n) {
			s.push(cur);
			cur++;
		}

		if(s.empty() || s.top() != a[i]) {
			f = false;
			break;
		} else {
			s.pop();
		}
	}

	if(f) {
		cout << "legal" << endl;
	} else {
		cout << "illegal" << endl;
	}

	return 0;
}